package com.jic.market.request.manager.lottery;

import com.jic.market.request.AdminOperate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 抽奖活动信息表
 * @author : 
 * @email : 
 * @since : 2020-03-03 03:06:48
 * @version : v1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel("抽奖活动信息-请求参数")
public class LotteryThemeRequest implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "主键ID")
    private Long id;

    @ApiModelProperty(notes = "活动编码")
    private String promotionCode;

    @ApiModelProperty(notes = "促销类型：抽奖 13")
    private Integer frontPromotionType;

    @ApiModelProperty(notes = "抽奖活动名称")
    private String activityName;

    @ApiModelProperty(notes = "活动开始时间")
    private Date effStartTime;

    @ApiModelProperty(notes = "活动结束时间")
    private Date effEndTime;

    @ApiModelProperty(notes = "活动优先级")
    private Integer priority;

    @ApiModelProperty(notes = "活动搜索词 多个“,”隔开")
    private String activitySearch;

    @ApiModelProperty(notes = "活动费用预算")
    private BigDecimal activityBudget;

    @ApiModelProperty(notes = "预警比例")
    private Integer warningProportion;

    @ApiModelProperty(notes = "免费抽奖次数")
    private Long costFreeDrawTimes;

    @ApiModelProperty(notes = "每日抽奖次数限制")
    private Long dailyDrawTimesLimit;

    @ApiModelProperty(notes = "每日中奖次数限制")
    private Long dailyWinningTimesLimit;

    @ApiModelProperty(notes = "抽奖形式 1：大转盘，2:刮刮乐，3:红包雨 4:小we宝盒")
    private Long lotteryTemplate;

    @ApiModelProperty(notes = "抽奖活动类型，1 引流抽奖，2 交易抽奖")
    private Integer lotteryType;

    @ApiModelProperty(notes = "活动说明")
    private String activityDesc;

    @ApiModelProperty(notes = "未中奖说明，多个以分号分割，可以随机展示")
    private String notWinningDesc;

    @ApiModelProperty(notes = "备注")
    private String remark;

    @ApiModelProperty(notes = "审核理由")
    private String auditRemark;

    @ApiModelProperty(notes = "渠道入口 1 企业微信")
    private String channelCodes;

    @ApiModelProperty(notes = "用户类型 1 新用户 2 老用户 3 不限制")
    private String proUserType;

    @ApiModelProperty(notes = "会员类型 1 普通会员 2 we2000 3 分期会员")
    private String proMemberType;

    @ApiModelProperty(notes = "H5模板ID")
    private Long pageTemplateId;

    @ApiModelProperty(notes = "H5页面配置json")
    private String pageDescJson;

    @ApiModelProperty(notes = "活动规则")
    private String activityRule;

    @ApiModelProperty(notes = "投放渠道")
    private String launchChannels;

    @ApiModelProperty(notes = "APP苹果端登录地址")
    private String iosLink;

    @ApiModelProperty(notes = "APP安卓端登录地址")
    private String androidLink;

    @ApiModelProperty(notes = "H5端登录地址")
    private String h5Link;

    @ApiModelProperty(notes = "活动状态: 1 待提交 2 待审核 3 审核不通过 4 进行中 5 已过期 6 已关闭 7 未开始 8 已结束 9 活动草稿")
    private Integer status;

    @ApiModelProperty(notes = "运营方ID")
    private Long deptId;

    @ApiModelProperty(notes = "运营方类型")
    private Integer deptType;

    @ApiModelProperty(notes = "创建日期")
    private Date createTime;

    @ApiModelProperty(notes = "创建用户ID")
    private Long creator;

    @ApiModelProperty(notes = "创建用户")
    private String creatorName;

    @ApiModelProperty(notes = "更新时间")
    private Date updateTime;

    @ApiModelProperty(notes = "更新用户ID")
    private Long updater;

    @ApiModelProperty(notes = "更新用户")
    private String updaterName;

    @ApiModelProperty(notes = "逻辑删除,0-未删除，1-已删除")
    private Long deleteFlag;

    @ApiModelProperty(notes = "审核状态  审核通过为1 不通过为2")
    private Integer verifyStatus;

    @ApiModelProperty(notes = "基类")
    private AdminOperate adminOperate;
    private int start = 1;
    private int limit = 10;
}